﻿using Newtonsoft.Json;
using Swashbuckle.AspNetCore.Annotations;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Alison.EFCore.Dto
{ 
     /// <summary>
     /// 字典
     /// </summary>
    [SwaggerSchema(Title = "字典BasicDto", Description = "权限Class")]
    public class BasicDto: BaseDto
    { 
        /// <summary>
        /// 字典类型代码
        /// </summary> 
        [JsonProperty("typeCode")]
        [SwaggerSchema(Title = "字典", Description = "字典类型代码")]
        [StringLength(20, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 2)]
        public string TypeCode { get; set; }

        /// <summary>
        /// 数据编号
        /// </summary>
        [JsonProperty("dataCode")]
        [SwaggerSchema(Title = "字典", Description = "数据编号")]
        [StringLength(20, ErrorMessage = "The {0} must be at least {2} and at max {1} characters long.", MinimumLength = 2)]
        public string DataCode { get; set; }

        /// <summary>
        /// 中文名
        /// </summary>
        [JsonProperty("nativeName")]
        [SwaggerSchema(Title = "字典", Description = "中文名")]
        public string NativeName { get; set; }

        /// <summary>
        /// 英文名
        /// </summary>
        [JsonProperty("englishName")]
        [SwaggerSchema(Title = "字典", Description = "英文名")]
        public string EnglishName { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        [JsonProperty("createDate")]
        [SwaggerSchema(Title = "字典", Description = "创建时间")]
        public DateTime? CreateDate { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [JsonProperty("createBy")]
        [SwaggerSchema(Title = "字典", Description = "创建人")]
        public string CreateBy { get; set; }

        /// <summary>
        /// 最后更新时间
        /// </summary>
        [JsonProperty("lastUpdate")]
        [SwaggerSchema(Title = "字典", Description = "最后更新时间")]
        public DateTime? LastUpdate { get; set; }

        /// <summary>
        /// 最后更新人
        /// </summary>
        [JsonProperty("lastUpdateBy")]
        [SwaggerSchema(Title = "字典", Description = "最后更新人")]
        public string LastUpdateBy { get; set; }
    }
}
